package com.unicom.projt;

import android.app.Activity;
import android.os.Bundle;
import android.os.Parcelable;
import android.support.v4.view.PagerAdapter;
import android.support.v4.view.ViewPager;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Button;
import android.widget.ImageButton;
import com.unicom.projt.reg.RegisterStepOnePage;
import com.unicom.projt.util.PageJumpUtils;

import java.util.ArrayList;
import java.util.List;

/**
 * Created by IntelliJ IDEA.
 * User: Lee
 * Date: 12-5-11
 * Time: 下午10:46
 */
public class CaptionPage extends Activity {
    private ViewPager myViewPager;
    private View layout1 = null;
    private View layout2 = null;
    private View layout3 = null;
    private List<View> mListViews;
    private LayoutInflater mInflater;
    private MyPagerAdapter myAdapter;


    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.caption_layout);
        myAdapter = new MyPagerAdapter();
        myViewPager = (ViewPager) findViewById(R.id.view_pager_layout);
        myViewPager.setAdapter(myAdapter);

        mListViews = new ArrayList<View>();
        mInflater = getLayoutInflater();
        layout1 = mInflater.inflate(R.layout.layout1, null);
        layout2 = mInflater.inflate(R.layout.layout2, null);
        layout3 = mInflater.inflate(R.layout.layout3, null);

        mListViews.add(layout1);
        mListViews.add(layout2);
        mListViews.add(layout3);

        //初始化当前显示的view
        myViewPager.setCurrentItem(0);
        ImageButton mButton= (ImageButton)layout3.findViewById(R.id.begin_btn);
        mButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                gotoRegPage();
            }
        });
        ImageButton mLoginButton= (ImageButton)layout3.findViewById(R.id.login_btn);
        mLoginButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                gotoLoginPage();
            }
        });
//        myViewPager.setOnPageChangeListener(new ViewPager.OnPageChangeListener() {
//
//            @Override
//            public void onPageSelected(int arg0) {
//                //activity从1到2滑动，2被加载后掉用此方法
//
//            }
//
//            @Override
//            public void onPageScrolled(int arg0, float arg1, int arg2) {
//                Log.d("k",arg0+ "-------"+arg2);
//            }
//
//            @Override
//            public void onPageScrollStateChanged(int arg0) {
//                if(lastPage && arg0==1){
//                    Log.d("k","sssssssssssssss");
//                    gotoRegPage();
//                }
//                //状态有三个0空闲，1是增在滑行中，2目标加载完毕
//            }
//        });
    }

    private void gotoLoginPage(){
        PageJumpUtils.jump(this, Main.class);
        this.finish();
    }

    private void gotoRegPage(){
        PageJumpUtils.jump(this, InputPhoneNumberPage.class);
        this.finish();
    }

    private class MyPagerAdapter extends PagerAdapter {
        @Override
        public void destroyItem(View arg0, int arg1, Object arg2) {
            Log.d("k", "destroyItem");
            ((ViewPager) arg0).removeView(mListViews.get(arg1));
        }

        @Override
        public void finishUpdate(View arg0) {
            Log.d("k", "finishUpdate");
        }

        @Override
        public int getCount() {
//            Log.d("k", "getCount");
            return mListViews.size();
        }

        @Override
        public Object instantiateItem(View arg0, int arg1) {
            Log.d("k", "instantiateItem");
            ((ViewPager) arg0).addView(mListViews.get(arg1),0);
            return mListViews.get(arg1);
        }

        @Override
        public boolean isViewFromObject(View arg0, Object arg1) {
            Log.d("k", "isViewFromObject "+ (arg0==(arg1)));
            return arg0==(arg1);
        }

        @Override
        public void restoreState(Parcelable arg0, ClassLoader arg1) {
            Log.d("k", "restoreState");
        }

        @Override
        public Parcelable saveState() {
            Log.d("k", "saveState");
            return null;
        }

        @Override
        public void startUpdate(View arg0) {
            Log.d("k", "startUpdate");
        }

    }
}
